package cn.tedu;

import cn.tedu.util.JDBCUtils;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Scanner;

/**
 * Date：2022年03月
 * Author：程Sir
 * Name： JDBC_project
 * Content:
 *  编写一个程序,用户输入球队名称和球员名称,并添加到球队表和球员表。要求球员表的teamid值要是新增的球队表的teamid
 */
public class JdbcAutoKeys练习 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入要添加的球队名称：");
        String team = scanner.nextLine();
        System.out.println("请输入要添加的球员名称：");
        String player = scanner.nextLine();

        // 获取连接
        try(Connection connection = JDBCUtils.getConnection()){
            // 编写第一个SQL：给team插入数据
            String sql1 = "insert into team values(null, ?)";
            // 获取preparedStatement对象
            PreparedStatement preparedStatement = connection.prepareStatement(sql1, 1);
            // 给占位符赋值
            preparedStatement.setString(1,team);
            //执行计划
            preparedStatement.executeUpdate();
            // 获取自增主键的结果集
            ResultSet generatedKeys = preparedStatement.getGeneratedKeys();
            // 取数据
            while (generatedKeys.next()){
                int id = generatedKeys.getInt(1);
                System.out.println("新增球队的主键值："+id);
                // 编写第二个SQL：给player插入数据
                String sql2 = "insert into player values(null,?,?)";
                // 创建新的执行计划，填入新的SQL
                preparedStatement = connection.prepareStatement(sql2);
                // 给占位符赋值
                preparedStatement.setString(1,player);
                preparedStatement.setInt(2,id);
                // 执行计划
                int row = preparedStatement.executeUpdate();
                if (row==1){
                    System.out.println("执行完成！");
                }else{
                    System.out.println("执行失败！");
                }
            }
        } catch (SQLException throwables) {
            throwables.printStackTrace();
        }


    }
}
